feat: remove rpyc#2094
Conversation
Greptile SummaryThis PR removes RPyC entirely and replaces it with the project's own LCM-based pub/sub RPC layer (
Confidence Score: 5/5The RPyC removal is clean and well-scoped; the LCM-based replacement follows existing pub/sub patterns and all previously-flagged gaps have been noted in prior threads. The change is a straightforward excision of one RPC transport and substitution of another already used by the rest of the codebase. New code paths are covered by updated tests, the Blueprint pickle fix is correct and tested, and RunEntry forward-compatibility is handled. The only new findings are cosmetic: a factory method that is defined but never called, and a magic string constant that could use a comment. No files require special attention beyond what was already flagged in previous review rounds. Important Files Changed
Sequence DiagramsequenceDiagram
participant CLI as dimos CLI / Dimos.connect()
participant RMS as RemoteModuleSource
participant CRPC as CoordinatorRPC
participant LCM as LCM Bus
participant MC as ModuleCoordinator
participant Proxy as RPCClient / _RemoteProxy
CLI->>RMS: "RemoteModuleSource(timeout=5)"
RMS->>CRPC: CoordinatorRPC.connect(timeout)
CRPC->>LCM: call_sync(Coordinator/ping)
LCM->>MC: ping()
MC-->>LCM: pong
LCM-->>CRPC: pong
CRPC-->>RMS: CoordinatorRPC instance
CLI->>RMS: list_module_names()
RMS->>CRPC: call(list_modules)
CRPC->>LCM: call_sync(Coordinator/list_modules)
LCM->>MC: list_modules()
MC-->>LCM: [ModuleDescriptor, ...]
LCM-->>RMS: descriptors
CLI->>RMS: get_module(StressTestModule)
RMS->>RMS: importlib.import_module(qualified_path)
alt import succeeds
RMS->>Proxy: "RPCClient(None, cls, rpc=coord.rpc)"
else import fails
RMS->>Proxy: _RemoteProxy(coord.rpc, name, rpc_names)
end
Proxy-->>CLI: proxy
CLI->>Proxy: proxy.ping()
Proxy->>LCM: call_sync(StressTestModule/ping)
LCM->>MC: ping() on module
MC-->>LCM: pong
LCM-->>CLI: pong
Reviews (4): Last reviewed commit: "Merge branch 'main' into paul/feat/remov..." | Re-trigger Greptile |
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
afbb2d4 to
0b95215
Compare
c063cac to
93fc89c
Compare
Problem
Solution
Contributor License Agreement